// pages/index/index.js
// 引入request
import request from '../../utils/request'
Page({
  toRecommendSong () { 
    wx.navigateTo({
      url:'/packageSong/pages/recommendSong/recommendSong'
    })
  },
  // 去other页面
  toOther () { 
    wx.navigateTo({
      url:'/packageOther/pages/other/other'
    })
  },

  /**
   * 页面的初始数据
   */
  data: {
    banners: [], // 轮播图数据
    recommendList: [], // 推荐歌曲列表数据
    topList:[] // 排行榜列表数据
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: async function (options) {
    // 调用接口,发送请求,获取首页轮播图的数据,展示到页面中
    // wx.request({
    //   url: 'http://localhost:3000/banner',
    //   data: {
    //     type: 2
    //   },
    //   method: 'GET',
    //   success: res => {
    //     console.log(res)
    //   },
    //   fail: err => {
    //     console.log(err)
    //   }
    // })
    // 调用接口,发送请求,获取首页轮播图数据
    const bannerListData = await request('/banner', { type: 2 })
    // 更新数据
    this.setData({
      banners:bannerListData.banners
    })

    // 调用接口,发送请求,获取首页推荐歌曲数据
    const recommendListData = await request('/personalized', { limit: 10 })
    // 更新数据
    this.setData({
      recommendList:recommendListData.result
    })

    // 调用接口,发送请求,获取首页的排行榜数据
    let index = 0
    const topList =[] // 用来存储每一屏的数据
    while (index<5) { 
      const topListData = await request('/top/list', { idx: index++ })
     // 每一次的循环,都需要topListData对象中的playlist中的name属性
      // 还需要topListData对象中的playlist中的tracks数组(只要三条歌曲对象数据)
      const topListItem = {
        name: topListData.playlist.name, // 名字
        tracks:topListData.playlist.tracks.slice(0,3)
      }
      topList.push(topListItem)
    }
    // 更新数据
    this.setData({
      topList
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})